import request from '../utils/request.js';

// 添加购物车
// params:
// - cartDTO: {
//   fruitId: 水果ID,
//   quantity: 数量,
//   selected: 是否选中（0-未选中，1-选中）
// }
export const addToCart = (cartDTO) => {
  return request.post('/api/cart/add', cartDTO);
};

// 修改购物车
// params:
// - id: 购物车ID
// - cartDTO: {
//   quantity: 数量,
//   selected: 是否选中（0-未选中，1-选中）
// }
export const updateCart = (id, cartDTO) => {
  console.log('api/cart.js - updateCart 被调用，ID类型:', typeof id, 'ID值:', id, '数据:', cartDTO);
  return request.put(`/api/cart/${id}`, cartDTO);
};

// 删除购物车
// params:
// - id: 购物车ID
export const deleteCart = (id) => {
  return request.delete(`/api/cart/${id}`);
};

// 清空购物车
export const clearCart = () => {
  return request.delete('/api/cart/clear');
};

// 获取购物车列表
export const getCartList = () => {
  return request.get('/api/cart/list');
};

// 更新购物车选中状态
// params:
// - id: 购物车ID
// - selected: 选中状态（0-未选中，1-选中）
export const updateCartSelected = (id, selected) => {
  console.log('api/cart.js - updateCartSelected 被调用，ID:', id, '参数:', selected, '类型:', typeof selected);
  return request.put(`/api/cart/selected/${id}?selected=${selected}`);
};

// 全选/取消全选
// params:
// - selected: 选中状态（0-未选中，1-选中）
export const selectAllCart = (selected) => {
  console.log('api/cart.js - selectAllCart 被调用，参数:', selected, '类型:', typeof selected);
  return request.put(`/api/cart/select-all?selected=${selected}`);
};

// 获取购物车商品数量
export const getCartCount = () => {
  return request.get('/api/cart/count');
};

// 获取购物车总金额
export const getCartTotalAmount = () => {
  return request.get('/api/cart/total-amount');
};
